#ifndef SCHE_MGR_H_
#define SCHE_MGR_H_
#include "conf.h"

C_CODE_BEGIN

struct sche;
struct sche_mgr;
struct worker_mgr;
typedef struct sche* (*sche_creator)( size_t thread_size , struct worker_mgr* mgr , const char* worker_type );

EXPORT_FUNC struct sche_mgr* sche_mgr_create();
EXPORT_FUNC void sche_mgr_destroy( struct sche_mgr* );
EXPORT_FUNC struct sche* sche_mgr_spawn_sche( struct sche_mgr* ,const char* sche_type , const char* worker_tpye , struct worker_mgr* mgr , size_t thread_size );

EXPORT_FUNC void sche_mgr_register( struct sche_mgr* , const char* , sche_creator );
EXPORT_FUNC void sche_mgr_unreigster( struct sche_mgr* , const char* );

C_CODE_END

#endif //SCHE_MGR_H_